﻿#ifndef SEARCH_BOX_H
#define SEARCH_BOX_H

#include <QWidget>
#include <QComboBox>
#include <QLineEdit>

using namespace std;

namespace Ui {
class SearchBoxWidget;
}

class SearchBoxWidget : public QWidget
{
    Q_OBJECT

public:
    explicit SearchBoxWidget(QWidget *parent = nullptr);
    ~SearchBoxWidget();

signals:
    // 复选框切换时触发的信号
    void opationChange();

    // 输入框文本框内容更改时触发的信号
    void inputTextChange(QString last_input_text, QString current_input_text);

public slots:
    // 获取搜索选项的值
    QString getOpationText();

    // 设置搜索框的内容
    void setInputText(const QString &input_text);

    // 获取搜索框的内容
    QString getInputText();

private:
    Ui::SearchBoxWidget *ui;

    QComboBox *choose;      // 查询选项
    QLineEdit *input_box;   // 输入框

private:
    QString last_input_text = "";    // 上次输入框的内容

private:
    // 项目UI初始化
    void initUi();

    // 项目数据初始化
    void initData();

    // 项目UI数据初始化
    void initUiData();

    // 项目事件连接初始化
    void initConnect();
};

#endif // SEARCH_BOX_H
